package com.example.copa_america.dao;


import java.util.ArrayList;

import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;

import com.example.copa_america.model.Noticia;
import com.example.copa_america.model.Sede;

public class ParserNoticias extends DefaultHandler{
	
	private static ArrayList<Noticia> arraynoticias;
	private Noticia noticias;
	private StringBuffer buffer = new StringBuffer();
	
	public ParserNoticias() {
	}
	
	public static ArrayList<Noticia> getArraynoticias() {
		return arraynoticias;
	}

	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) {
		buffer.setLength(0);
		if (localName.equals("Noticias")) {
			// Comienza el XML, se instancia el array de sedes.
			arraynoticias = new ArrayList<Noticia>();
		} else if (localName.equals("Noticia")) {
			// Comienzan las etiquetas correspondientes a una sede, se instancia
			// una sede.
			noticias = new Noticia();
			arraynoticias.add(noticias);
		}
	}

	@Override
	public void endElement(String namespaceURI, String localName, String qName) {

		if (localName.equals("IdNoticia")) {
			// fin etiqueta IdNoticia, se guarda el id...
			this.noticias.setIdNoticia(buffer.toString());
		} else if (localName.equals("IdSede")) {
			// fin de etiqueta Idsede, se guardas la id de la sede...
			this.noticias.setIdSede(buffer.toString());
		} else if (localName.equals("Texto")) {
			// fin de etiqueta texto,se guarda el texton...
			this.noticias.setTexto(buffer.toString());
		} 
	}

	@Override
	public void characters(char[] ch, int start, int length) {
		buffer.append(ch, start, length);
	}
	
	
}
